﻿using System;
using System.Collections.Generic;
using System.Security.Cryptography.X509Certificates;
using MediumApi.Db;

namespace MediumApi.Result
{
    public class AppResult
    {
        /// <summary>
        /// 查询频道列表
        /// </summary>
        public class SelectWebChannelListResult
        {
            /// <summary>
            /// Id
            /// </summary>
            public int Id { get; set; }
            /// <summary>
            /// 图标
            /// </summary>
            public string AvatarUrl { get; set; }
            /// <summary>
            /// 频道名字
            /// </summary>
            public string ChannelName { get; set; }
            /// <summary>
            /// 类型 1-频道 2-分类
            /// </summary>
            public int Type { get; set; }
            /// <summary>
            /// 排序
            /// </summary>
            public int ChannelSort { get; set; }
            /// <summary>
            /// 父级频道ID
            /// </summary>
            public int ParentId { get; set; }
            /// <summary>
            /// 是否关注
            /// </summary>
            public int IsConcern { get; set; }
            public List<SelectAppContentsListResult> ContentsList { get; set; }
            public List<SelectWebChannelListResult> children { get; set; }
        }
        /// <summary>
        /// 查询频道列表
        /// </summary>
        public class SelectChannelListResult
        {
            /// <summary>
            /// Id
            /// </summary>
            public int Id { get; set; }
            /// <summary>
            /// 图标
            /// </summary>
            public string AvatarUrl { get; set; }
            /// <summary>
            /// 频道名字
            /// </summary>
            public string ChannelName { get; set; }
            /// <summary>
            /// 频道排序
            /// </summary>
            public int ChannelSort { get; set; }
            /// <summary>
            /// 首页排序
            /// </summary>
            public int HomeSort { get; set; }
            /// <summary>
            /// 父级
            /// </summary>
            public int Parent { get; set; }
            /// <summary>
            /// 类型 1-频道 2-分类
            /// </summary>
            public int Type { get; set; }
            /// <summary>
            /// 状态
            /// </summary>
            public int Status { get; set; }
            public List<SelectChannelListResult> children { get; set; }

            public DateTime CreatedAt { get; set; }
        }
        public class SelectAppChannelListResult
        {
            /// <summary>
            /// Id
            /// </summary>
            public int Id { get; set; }
            /// <summary>
            /// 频道名字
            /// </summary>
            public string ChannelName { get; set; }
            /// <summary>
            /// 频道排序
            /// </summary>
            public int ChannelSort { get; set; }
            /// <summary>
            /// 首页排序
            /// </summary>
            public int HomeSort { get; set; }
            /// <summary>
            /// 父级
            /// </summary>
            public int Parent { get; set; }
            /// <summary>
            /// 父级命
            /// </summary>
            public string ParentName { get; set; }
            /// <summary>
            /// 图标
            /// </summary>
            public string AvatarUrl { get; set; }
         
            /// <summary>
            /// 类型 1-频道 2-分类
            /// </summary>
            public int Type { get; set; }
            public List<SelectAppChannelListResult> children { get; set; }
        }
        public class SelectUserListResult
        {
            /// <summary>
            /// 用户id
            /// </summary>
            public string Id { get; set; }
            /// <summary>
            /// 用户名
            /// </summary>
            public string UserName { get; set; }
            /// <summary>
            /// 密码
            /// </summary>
            public string PassWord { get; set; }
            /// <summary>
            /// 邮箱
            /// </summary>
            public string Email { get; set; }
            /// <summary>
            /// 电话号码
            /// </summary>
            public string PhoneNumber { get; set; }
            /// <summary>
            /// 头像url
            /// </summary>
            public string AvatarUrl { get; set; }
            /// <summary>
            /// 性别
            /// </summary>
            public int Gender { get; set; }
            /// <summary>
            /// 创建时间
            /// </summary>
            public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
            /// <summary>
            /// 状态 0-禁用 1-正常
            /// </summary>
            public int Status { get; set; }
        }
        public class SelectBaseUserListResult
        {
            /// <summary>
            /// ID
            /// </summary>
            public string Id { get; set; }
            /// <summary>
            /// 管理员账号
            /// </summary>
            public string UserName { get; set; }
            /// <summary>
            /// 管理员密码
            /// </summary>
            public string PassWord { get; set; }
            /// <summary>
            /// 角色ID
            /// </summary>
            public int RoleId { get; set; }
            /// <summary>
            /// 创建时间
            /// </summary>
            public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
            /// <summary>
            /// 状态
            /// </summary>
            public int Status { get; set; }
            /// <summary>
            /// 说明
            /// </summary>
            public string Describe { get; set; }
            /// <summary>
            /// 名字
            /// </summary>
            public string Name { get; set; }
            /// <summary>
            /// 头像URL
            /// </summary>
            public string AvatarUrl { get; set; }
        }
        public class SelectRoleListResult
        {
            /// <summary>
            /// ID
            /// </summary>
            public int Id { get; set; }
            /// <summary>
            /// 角色名
            /// </summary>
            public string RoleName { get; set; }
            /// <summary>
            /// 创建时间
            /// </summary>
            public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
            /// <summary>
            /// 状态
            /// </summary>
            public int Status { get; set; }
            /// <summary>
            /// 说明
            /// </summary>
            public string Describe { get; set; }
        }
        public class SelectPageTableListResult
        {
            public int Id { get; set; }
            /// <summary>
            /// 页面名字
            /// </summary>
            public string PageName { get; set; }
            /// <summary>
            /// 页面等级
            /// </summary>
            public int PageGrade { get; set; }
            /// <summary>
            /// 页面路径
            /// </summary>
            public string PagePath { get; set; }
            public DateTime CreatedAt { get; set; }
        }
        public class SelectPageTableResult
        {
            public int Id { get; set; }
            /// <summary>
            /// 页面名字
            /// </summary>
            public string PageName { get; set; }
            /// <summary>
            /// 页面等级
            /// </summary>
            public int PageGrade { get; set; }
            /// <summary>
            /// 页面路径
            /// </summary>
            public string PagePath { get; set; }
            /// <summary>
            /// 添加
            /// </summary>
            public int IsAdd { get; set; }
            /// <summary>
            /// 修改
            /// </summary>
            public int IsUpadte { get; set; }
            /// <summary>
            /// 删除
            /// </summary>
            public int IsDel { get; set; }
        }
        public class SelectOperateResult
        {

        }
        public class SelectRoleMenuListResult
        {
            /// <summary>
            /// 角色ID
            /// </summary>
            public int RoleId { get; set; }
            /// <summary>
            /// 菜单ID
            /// </summary>
            public List<int> MenuId { get; set; }
            /// <summary>
            /// 是否半选
            /// </summary>
            public List<int> halfCheckedKeys { get; set; }
        }
        public class SelectMenuListResult
        {
            public int Id { get; set; }
            /// <summary>
            /// 上级ID
            /// </summary>
            public int ManagerId { get; set; }
            /// <summary>
            /// 菜单名字
            /// </summary>
            public string MenuName { get; set; }
            /// <summary>
            /// 菜单路径
            /// </summary>
            public string MenuPath { get; set; }
            /// <summary>
            /// 页面ID
            /// </summary>
            public int PageTableId { get; set; }
            /// <summary>
            /// 菜单图标
            /// </summary>
            public string icon { get; set; }
            /// <summary>
            /// 菜单类型 1-一级 2,-子菜单
            /// </summary>
            public int MenuType { get; set; }
            /// <summary>
            /// 菜单排序
            /// </summary>
            public int Sort { get; set; }
            /// <summary>
            /// 菜单状态 1-显示 2-隐藏
            /// </summary>
            public int Status { get; set; }
            /// <summary>
            /// 子菜单列表
            /// </summary>
            public List<SelectMenuListResult> MenuResults { get; set; }

        }
        public class SelectMenuResult
        {
            /// <summary>
            /// 上级ID
            /// </summary>
            public int ManagerId { get; set; }
            /// <summary>
            /// 菜单名字
            /// </summary>
            public string MenuName { get; set; }
            /// <summary>
            /// 菜单路径
            /// </summary>
            public string MenuPath { get; set; }
            /// <summary>
            /// 页面ID
            /// </summary>
            public int PageTableId { get; set; }
            /// <summary>
            /// 菜单图标
            /// </summary>
            public string icon { get; set; }
            /// <summary>
            /// 菜单类型 1-一级 2,-子菜单
            /// </summary>
            public int MenuType { get; set; }
            /// <summary>
            /// 菜单排序
            /// </summary>
            public int Sort { get; set; }
            /// <summary>
            /// 菜单状态 1-显示 2-隐藏
            /// </summary>
            public int Status { get; set; }
        }
        public class SelectContentsListResult
        {
            /// <summary>
            /// ID
            /// </summary>
            public string Id { get; set; }
            /// <summary>
            /// 标题
            /// </summary>
            public string Title { get; set; }
            /// <summary>
            /// 作者
            /// </summary>
            public string AuthorId { get; set; }
            /// <summary>
            /// 作者头像
            /// </summary>
            public string AuthorUrl { get; set; }
            /// <summary>
            /// 内容类型(1-文章 2-图集 3-视频 )
            /// </summary>
            public int ContentType { get; set; }
            /// <summary>
            /// 状态(0-草稿 1-待审核 2-已发布 3-已下架)
            /// </summary>
            public int Status { get; set; }
            /// <summary>
            /// 封面路径
            /// </summary>
            public string CoverImage { get; set; }
            /// <summary>
            /// 内容
            /// </summary>
            public string Summary { get; set; }
            /// <summary>
            /// 频道
            /// </summary>
            public string ChannelName { get; set; }
            /// <summary>
            /// 频道Id
            /// </summary>
            public int ChannelId { get; set; }
            /// <summary>
            /// 父频道Id
            /// </summary>
            public int FChannelId { get; set; }
            /// <summary>
            /// 来源
            /// </summary>
            public string Source { get; set; }

            /// <summary>
            /// 上架状态 1:上架 2:下架
            /// </summary>
            public int Display { get; set; }
            /// <summary>
            /// 推荐
            /// </summary>
            public int Recommend { get; set; }
            /// <summary>
            /// 图片/视频
            /// </summary>
            public List<string> Medium { get; set; }
            /// <summary>
            /// 推送
            /// </summary>
            public int Push { get; set; }

            /// <summary>
            /// 创建时间
            /// </summary>
            public DateTime CreatedAt { get; set; }
            /// <summary>
            /// 出版人
            /// </summary>
            public string Publish { get; set; }
            /// <summary>
            /// 是否精选
            /// </summary>
            public int isChoiceness { get; set; }
            /// <summary>
            /// 更新时间
            /// </summary>
            public DateTime UpdateAt { get; set; }
        }
        public class SelectAppContentsListResult
        {
            /// <summary>
            /// ID
            /// </summary>
            public string Id { get; set; }
            /// <summary>
            /// 标题
            /// </summary>
            public string Title { get; set; } = string.Empty;
            /// <summary>
            /// 作者
            /// </summary>
            public string AuthorName { get; set; }
            /// <summary>
            /// 作者头像
            /// </summary>
            public string AuthorUrl { get; set; }
            /// <summary>
            /// 内容类型(1-文章 2-图集 3-视频 )
            /// </summary>
            public int ContentType { get; set; }
            /// <summary>
            /// 状态(0-草稿 1-待审核 2-已发布 3-已下架)
            /// </summary>
            public int Status { get; set; }
            /// <summary>
            /// 封面路径
            /// </summary>
            public string CoverImage { get; set; }
            /// <summary>
            /// 内容
            /// </summary>
            public string Summary { get; set; } = string.Empty;
            /// <summary>
            /// 频道ID
            /// </summary>
            public int ChannelId { get; set; }
            /// <summary>
            /// 来源
            /// </summary>
            public string Source { get; set; }

            /// <summary>
            /// 上架状态 1:上架 2:下架
            /// </summary>
            public int Display { get; set; }
            /// <summary>
            /// 图片/视频
            /// </summary>
            public List<string> Medium { get; set; }
            /// <summary>
            /// 评论数
            /// </summary>
            public int CommentsNum { get; set; }
            /// <summary>
            /// 点赞数
            /// </summary>
            public int GoodNum { get; set; }
            /// <summary>
            /// 分享数
            /// </summary>
            public int ShareNum { get; set; }
            /// <summary>
            /// 是否关注
            /// </summary>
            public int IsConcern { get; set; }
            /// <summary>
            /// 是否点赞
            /// </summary>
            public int IsGood { get; set; }
            /// <summary>
            /// 推送
            /// </summary>
            public int Push { get; set; }
            /// <summary>
            /// 频道/分类
            /// </summary>
            public string ChannelName { get; set; }
            /// <summary>
            /// 父级频道ID
            /// </summary>
            public int ParentId { get; set; }
            /// <summary>
            /// 创建时间
            /// </summary>
            public DateTime CreatedAt { get; set; }
            /// <summary>
            /// 出版人
            /// </summary>
            public string Publish { get; set; }
            /// <summary>
            /// 更新时间
            /// </summary>
            public DateTime UpdateAt { get; set; }
            /// <summary>
            /// 是否精选
            /// </summary>
            public int isChoiceness { get; set; }
            /// <summary>
            /// 浏览量
            /// </summary>
            public List<ContentList> ContentsMost { get; set; }
            /// <summary>
            /// 最新时间
            /// </summary>
            public List<ContentList> ContentsSell { get; set; }
            /// <summary>
            /// 
            /// </summary>
            public List<ContentList> Contents { get; set; }

        }
        public class ContentList 
        {
            /// <summary>
            /// ID
            /// </summary>
            public string Id { get; set; }
            /// <summary>
            /// 标题
            /// </summary>
            public string Title { get; set; } = string.Empty;
            /// <summary>
            /// 封面路径
            /// </summary>
            public string CoverImage { get; set; }
            /// <summary>
            /// 更新时间
            /// </summary>
            public DateTime UpdateAt { get; set; }
        }
        public class SelectCommentsListResult
        {
            public string Id { get; set; }
            /// <summary>
            /// 用户ID
            /// </summary>
            public string UserId { get; set; }
            /// <summary>
            /// 用户名
            /// </summary>
            public string UserName { get; set; }
            /// <summary>
            /// 用户头像
            /// </summary>
            public string AvatarUrl { get; set; }
            /// <summary>
            /// 回复用户名
            /// </summary>
            public string ReplyUserName { get; set; }
            /// <summary>
            /// 时间
            /// </summary>
            public DateTime CreateAt { get; set; }
            /// <summary>
            /// 内容
            /// </summary>
            public string Summary { get; set; }

            /// <summary>
            /// 回复的内容
            /// </summary>
            public string ReplySummary { get; set; }
            /// <summary>
            /// 回复的评论ID
            /// </summary>
            public string ReplyId { get; set; }
            public List<SelectCommentsListResult> ReplyList { get; set; }
        }
        public class SelectUserCommentsListResult
        {
            /// <summary>
            /// 帖子ID
            /// </summary>
            public string ContentId { get; set; }
            /// <summary>
            /// 标题
            /// </summary>
            public string Title { get; set; }
            /// <summary>
            /// 帖子封面
            /// </summary>
            public string CoverImage { get; set; }
            /// <summary>
            /// 评论时间
            /// </summary>
            public DateTime CreateAt { get; set; }
            /// <summary>
            /// 内容
            /// </summary>
            public string Summary { get; set; }
            /// <summary>
            /// 回复人名称
            /// </summary>
            public string ReplyUserName { get; set; }
            public string ReplySummary { get; set; }
        }
        public class SelectTemplateResult 
        {
            /// <summary>
            /// ID
            /// </summary>
            public int Id { get; set; }
            /// <summary>
            /// 模板名
            /// </summary>
            public string TemplateName { get; set; }
            /// <summary>
            /// 模板内容
            /// </summary>
            public string Summary { get; set; }
            /// <summary>
            /// 备注
            /// </summary>
            public string Remarks { get; set; }
            /// <summary>
            /// 创建时间
            /// </summary>
            public DateTime CreatedAt { get; set; }
        }
    }
}
